package com.ithao.dao;

import com.github.pagehelper.Page;
import com.ithao.pojo.Role;
import com.ithao.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @description ：用户Dao
 * @version: 1.0
 */
public interface UserDao {
	/**
	 * 根据用户获取用户信息
	 * @param username
	 * @return
	 */
	User findByUsername(String username);

	/**
	 * 根据用户Id查找用户
	 */
	User findById(Integer id);

    Page<User> selectPage(Map queryParams);

	void updateState(@Param("id")Integer id,@Param("state")Integer state);

	void insertOne(User user);

	/**
	 * 删User和role的中间表
	 * @param userId
	 */
	void deleteUserAndRole(Integer userId);

	void delete(Integer id);

	void update(User user);

	//插User和role的中间表
	void insertUserAndRole(@Param("userId") Integer userId,@Param("roleId") Integer roleId);
    //查找用户选中的角色的Id
	List<Integer> findRolesById(Integer userId);
}